XSLT (Extensible Stylesheet Language Transformations) হল একটি ভাষা যা XML ডেটাকে বিভিন্ন ফরম্যাটে রূপান্তর করতে ব্যবহৃত হয়, যেমন HTML, XML বা অন্যান্য কাস্টম ফরম্যাট। Apache Xerces লাইব্রেরি XSLT সমর্থন করে এবং XML ডেটার রূপান্তর করার জন্য XSLT স্টাইলশীট ব্যবহার করার ক্ষমতা প্রদান করে।
XSLT সাধারণত XML ডেটার একটি স্টাইলশীট (XSLT স্টাইলশীট) দ্বারা নির্দেশিত হয়, যা XML ডেটাকে একটি নির্দিষ্ট ফরম্যাটে রূপান্তরিত করে। Apache Xerces লাইব্রেরি XSLT প্রসেসিং এবং রূপান্তরের জন্য Xalan-J ব্যবহার করে, যা Apache এর XSLT প্রসেসর।
এখানে XSLT ব্যবহারের মাধ্যমে XML ডেটা রূপান্তর করার উদাহরণ দেয়া হলো।
XSLT হল একটি শক্তিশালী কৌশল যা XML ডেটাকে একটি নির্দিষ্ট আউটপুট ফরম্যাটে রূপান্তর করতে ব্যবহৃত হয়। XSLT একটি XML স্টাইলশীট যা একটি XML ডকুমেন্টের গঠন এবং প্রেজেন্টেশন কাস্টমাইজ করে।
এটি মূলত দুটি অংশে বিভক্ত:
Apache Xerces লাইব্রেরি XSLT রূপান্তরের জন্য Xalan-J (অন্য একটি Apache প্রকল্প) ব্যবহার করে। Xerces মূলত XML পার্সিংয়ের জন্য ব্যবহৃত হলেও, Xalan-J ব্যবহার করে এটি XML ডেটাকে অন্য ফরম্যাটে রূপান্তর করতে পারে।
ধরা যাক, আমাদের একটি XML ডেটা রয়েছে এবং আমরা সেই XML ডেটাকে XSLT ব্যবহার করে HTML ফরম্যাটে রূপান্তর করতে চাই।
XML (person.xml):
<person>
<name>John Doe</name>
<age>30</age>
</person>
XSLT Stylesheet (transform.xsl):
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="/">
<html>
<body>
<h1>Person Information</h1>
<p>Name: <xsl:value-of select="person/name"/></p>
<p>Age: <xsl:value-of select="person/age"/></p>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
এখানে, transform.xsl ফাইলটি XML ডেটাকে HTML এ রূপান্তর করতে ব্যবহৃত হবে।
এখন, আমরা Apache Xerces এবং Xalan-J ব্যবহার করে XML ডেটাকে XSLT স্টাইলশীট ব্যবহার করে রূপান্তর করব।
যদি আপনি Maven ব্যবহার করেন, তাহলে pom.xml ফাইলে এই ডিপেন্ডেন্সি যোগ করুন:
<dependencies>
<!-- Apache Xerces -->
<dependency>
<groupId>org.apache.xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.12.1</version>
</dependency>
<!-- Apache Xalan-J (XSLT Processor) -->
<dependency>
<groupId>org.apache.xalan</groupId>
<artifactId>xalan</artifactId>
<version>2.7.2</version>
</dependency>
</dependencies>
import org.apache.xalan.xsltc.TrAXFilter;
import org.apache.xalan.transformer.TransformerImpl;
import javax.xml.transform.*;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import java.io.File;
import java.io.StringWriter;
public class XSLTTransformationExample {
public static void main(String[] args) {
try {
// Load XML file and XSLT file
File xmlFile = new File("person.xml");
File xsltFile = new File("transform.xsl");
// Create a TransformerFactory instance
TransformerFactory factory = TransformerFactory.newInstance();
// Create a Transformer from the XSLT file
Transformer transformer = factory.newTransformer(new StreamSource(xsltFile));
// Set the input XML file and output stream
StreamSource xmlSource = new StreamSource(xmlFile);
StringWriter writer = new StringWriter();
StreamResult result = new StreamResult(writer);
// Perform the transformation
transformer.transform(xmlSource, result);
// Print the transformed output
System.out.println(writer.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
যদি আপনি উপরের কোডটি রান করেন, তবে আউটপুট হবে:
<html>
<body>
<h1>Person Information</h1>
<p>Name: John Doe</p>
<p>Age: 30</p>
</body>
</html>
এখানে, XML ডেটা transform.xsl স্টাইলশীট ব্যবহার করে HTML ফরম্যাটে রূপান্তরিত হয়েছে।
Apache Xerces এবং XSLT একটি শক্তিশালী কম্বিনেশন যা XML ডেটার রূপান্তর এবং কাস্টমাইজেশন সহজ করে তোলে। XSLT এর মাধ্যমে XML ডেটাকে HTML, XML বা অন্য কোনো ফরম্যাটে রূপান্তর করা যেতে পারে এবং Apache Xerces লাইব্রেরি XSLT প্রসেসিংকে সমর্থন করে। এটি XML ডেটার উপস্থাপন এবং স্টাইলশীট কাস্টমাইজেশনে সহায়ক এবং ওয়েব ডেভেলপমেন্ট, ডেটা প্রসেসিং, এবং অন্যান্য সিস্টেমে ব্যবহৃত হয়।
XSLT (Extensible Stylesheet Language Transformations) হলো একটি XML ডেটা রূপান্তরের ভাষা যা XML ডকুমেন্টকে একটি নতুন আউটপুট ফরম্যাটে রূপান্তর করার জন্য ব্যবহৃত হয়। এটি XML ডেটা ট্রান্সফরমেশন বা XML ফাইল পরিবর্তন করার জন্য একটি শক্তিশালী টুল। XSLT, XSL (Extensible Stylesheet Language) এর একটি অংশ, যা মূলত XML ডকুমেন্টের স্টাইলিং এবং রূপান্তর সম্পর্কিত কাজ করে। XSLT ব্যবহৃত হয় যখন XML ডেটাকে HTML, XML, বা অন্য কোনও ফরম্যাটে রূপান্তর করা প্রয়োজন হয়।
অ্যাপাচি জারসেস (Apache Xerces) লাইব্রেরি XML ফাইলগুলির মধ্যে XSLT প্রসেসিং সমর্থন করে, যা ডেটাকে নির্দিষ্ট আউটপুট ফরম্যাটে রূপান্তর করতে সাহায্য করে।
XSLT হলো একটি declarative ভাষা যা XML ডকুমেন্ট থেকে নতুন XML, HTML, বা টেক্সট আউটপুট তৈরি করতে ব্যবহৃত হয়। এটি একটি স্টাইলশিট হিসেবে কাজ করে যা XML ডেটাকে নির্দিষ্ট কাঠামোতে রূপান্তর করে। XSLT মূলত XML ডেটা নিয়ে কাজ করে, তবে এর মাধ্যমে আপনি XML ফাইলকে সম্পূর্ণ নতুন রূপে সাজাতে পারেন, যেমন HTML পৃষ্ঠায় বা অন্যান্য ফরম্যাটে কনভার্ট করা।
XSLT একটি টেমপ্লেট ভিত্তিক সিস্টেম, যেখানে আপনি টেমপ্লেটের মাধ্যমে নির্দিষ্ট XML উপাদানগুলির উপর ট্রান্সফরমেশন অ্যাপ্লাই করেন। XSLT স্টাইলশিটটি নির্দিষ্ট XML ডেটাকে ট্রান্সফর্ম করতে সাহায্য করে, এবং আউটপুট হিসেবে আপনি যে ফরম্যাট চাচ্ছেন তা তৈরি হয়।
XSLT মূলত XML ডেটাকে একটি নতুন ফরম্যাটে রূপান্তর করতে ব্যবহৃত হয়। যেমন, XML ডেটাকে HTML, CSV, XML অথবা অন্য কোনো ফরম্যাটে কনভার্ট করা।
XSLT ব্যবহার করে XML ডেটা থেকে নির্দিষ্ট তথ্য বের করা যায়। এটি একটি XML ডকুমেন্টের মধ্যে নির্দিষ্ট এলিমেন্ট এবং অ্যাট্রিবিউট নির্বাচন করতে সাহায্য করে, এবং তারপর সেই তথ্য নিয়ে আরও কাজ করা সম্ভব হয়।
XSLT XML ডেটার স্টাইলিং বা প্রদর্শন করার জন্য ব্যবহৃত হয়। XSLT দিয়ে আপনি XML ডেটাকে এমনভাবে সাজাতে পারেন যাতে এটি একটি ওয়েব পেজ বা প্রিন্ট আউট হিসাবে সুন্দরভাবে প্রদর্শিত হয়।
XSLT XML ডেটার কাঠামো পরিবর্তন করার জন্য ব্যবহৃত হয়। আপনি নতুন এলিমেন্ট যোগ করতে পারেন, পুরোনো এলিমেন্ট পরিবর্তন করতে পারেন, বা কিছু অংশ বাদ দিতে পারেন।
XML ডেটার আউটপুট ফরম্যাট এবং এনকোডিং পরিবর্তন করার জন্য XSLT ব্যবহার করা হয়। এটি বিভিন্ন ধরনের ডেটা ফরম্যাটে XML ডেটা রূপান্তর করে এবং ওয়েব অ্যাপ্লিকেশন বা সিস্টেমের মধ্যে ডেটা এক্সচেঞ্জ সহজ করে তোলে।
ধরা যাক, আমাদের একটি XML ডকুমেন্ট আছে, এবং আমরা এই ডকুমেন্টটিকে HTML ফরম্যাটে রূপান্তর করতে চাই।
<catalog>
<book>
<title>XML for Beginners</title>
<author>John Doe</author>
<price>29.99</price>
</book>
<book>
<title>Advanced XML</title>
<author>Jane Smith</author>
<price>39.99</price>
</book>
</catalog>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/catalog">
<html>
<body>
<h2>Catalog of Books</h2>
<table border="1">
<tr>
<th>Title</th>
<th>Author</th>
<th>Price</th>
</tr>
<xsl:for-each select="book">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="author"/></td>
<td><xsl:value-of select="price"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
<html>
<body>
<h2>Catalog of Books</h2>
<table border="1">
<tr>
<th>Title</th>
<th>Author</th>
<th>Price</th>
</tr>
<tr>
<td>XML for Beginners</td>
<td>John Doe</td>
<td>29.99</td>
</tr>
<tr>
<td>Advanced XML</td>
<td>Jane Smith</td>
<td>39.99</td>
</tr>
</table>
</body>
</html>
এখানে, XML ডেটা XSLT স্টাইলশিটের মাধ্যমে HTML ফরম্যাটে রূপান্তরিত হয়েছে। XSLT স্টাইলশিটটি book এলিমেন্টের title, author, এবং price এর মান নিয়ে একটি সুন্দর HTML টেবিল তৈরি করেছে।
XSLT ওয়েব অ্যাপ্লিকেশনগুলিতে XML ডেটাকে HTML বা XHTML ফরম্যাটে রূপান্তর করতে ব্যবহৃত হয়, যা ব্রাউজারে সুন্দরভাবে প্রদর্শিত হয়।
XSLT ব্যবহার করে এক ধরনের XML ডেটা ফরম্যাটকে অন্য একটি ফরম্যাটে রূপান্তর করা যায়, যেমন XML থেকে CSV, XML থেকে JSON ইত্যাদি। এটি সিস্টেমের মধ্যে ডেটা এক্সচেঞ্জের প্রক্রিয়াকে সহজ করে।
XSLT বৃহৎ XML ডেটা সেটের মধ্যে উপাদান নির্বাচন, পরিবর্তন বা অতিরিক্ত তথ্য যোগ করতে সহায়তা করে। এটি XML ডেটাকে একাধিক ফরম্যাটে রূপান্তর করতে ব্যবহার করা যায়।
অ্যাপাচি জারসেস XSLT ট্রান্সফরমেশন সমর্থন করে এবং XML ডেটা ট্রান্সফর্মেশন করতে সাহায্য করে। এটি XML ডকুমেন্টের উপর XSLT স্টাইলশীট প্রয়োগ করার জন্য কার্যকরী পদ্ধতি প্রদান করে।
import org.apache.xalan.xsltc.TrAXTransformerFactory;
import org.apache.xml.serializer.OutputPropertiesFactory;
import javax.xml.transform.*;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import java.io.*;
public class XSLTExample {
public static void main(String[] args) {
try {
// Create a transformer factory
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(new StreamSource("transform.xsl"));
// Apply the transformation to the XML file
transformer.transform(new StreamSource("example.xml"), new StreamResult(new FileOutputStream("output.html")));
System.out.println("Transformation complete.");
} catch (Exception e) {
e.printStackTrace();
}
}
}
এই কোডটি অ্যাপাচি জারসেস এবং XSLT স্টাইলশীট ব্যবহার করে XML ফাইলকে HTML ফরম্যাটে রূপান্তরিত করবে।
XSLT (Extensible Stylesheet Language Transformations) একটি শক্তিশালী টুল যা XML ডেটাকে অন্য ফরম্যাটে রূপান্তর করতে ব্যবহৃত হয়। এটি XML ডেটার কাঠামো পরিবর্তন, ফিল্টারিং এবং স্টাইলিংয়ের জন্য একটি সুবিধাজনক ভাষা সরবরাহ করে। অ্যাপাচি জারসেস (Apache Xerces) XSLT সমর্থন করে এবং XML ডেটাকে XSLT স্টাইলশীটের মাধ্যমে ট্রান্সফর্ম করতে সহায়তা করে। XSLT ওয়েব পেজ তৈরি, ডেটা এক্সচেঞ্জ এবং বৃহৎ XML ডেটা ম্যানিপুলেশন করার জন্য একটি গুরুত্বপূর্ণ টুল।
XSLT (Extensible Stylesheet Language Transformations) হল একটি ভাষা যা XML ডেটা রূপান্তরের জন্য ব্যবহৃত হয়। এটি XML ডকুমেন্টকে এক ধরনের ফরম্যাট থেকে অন্য ধরনের ফরম্যাটে রূপান্তর করতে সাহায্য করে, যেমন XML থেকে HTML, XML থেকে অন্য XML, বা XML থেকে text ফরম্যাটে। Apache Xerces লাইব্রেরি XSLT সমর্থন করে এবং XML ডেটাকে XSLT শীট ব্যবহার করে রূপান্তর করার জন্য কার্যকরী টুল সরবরাহ করে।
এখানে, আমরা Apache Xerces ব্যবহার করে কিভাবে XSLT শীট ব্যবহার করে XML ডেটা রূপান্তর করা যায়, তা দেখব।
XSLT একটি স্টাইলশিট ভাষা যা XML ডেটার রূপান্তরের জন্য ব্যবহৃত হয়। XSLT ফাইলগুলো সাধারণত একটি XML ডকুমেন্টের স্টাইল (অথবা রূপ) নির্ধারণ করতে ব্যবহৃত হয় এবং XML ডেটাকে একটি নতুন ফরম্যাটে রূপান্তর করে, যেমন HTML বা অন্য কোন XML স্ট্রাকচার।
XSLT এর প্রধান বৈশিষ্ট্য:
এটি সাধারণত একটি XSL (Extensible Stylesheet Language) শীট ব্যবহার করে করা হয়, যা XML ডেটাকে টার্গেট ফরম্যাটে রূপান্তর করে।
Apache Xerces ব্যবহার করে XML ডেটাকে XSLT শীট দিয়ে রূপান্তর করার জন্য আমরা Transformer API ব্যবহার করতে পারি। এটি Java প্ল্যাটফর্মে XSLT রূপান্তরের জন্য একটি শক্তিশালী লাইব্রেরি সরবরাহ করে। XSLT রূপান্তর করতে javax.xml.transform প্যাকেজের TransformerFactory এবং Transformer ক্লাস ব্যবহার করা হয়।
ধরা যাক, আমাদের একটি XML ডকুমেন্ট রয়েছে:
<person>
<name>John Doe</name>
<age>30</age>
</person>
এখন, আমরা এই XML ডেটাকে XSLT শীট ব্যবহার করে রূপান্তর করব।
এখানে একটি XSLT শীট ব্যবহার করা হয়েছে যা XML ডেটাকে HTML ফরম্যাটে রূপান্তর করবে:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>Person Information</h2>
<p>Name: <xsl:value-of select="person/name"/></p>
<p>Age: <xsl:value-of select="person/age"/></p>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
এই XSLT শীটে, person ট্যাগের মধ্যে থাকা name এবং age উপাদানগুলির মানকে HTML ফরম্যাটে প্রদর্শন করা হবে।
এখন আমরা Apache Xerces লাইব্রেরি ব্যবহার করে XML ডেটাকে XSLT শীটের সাহায্যে HTML ফরম্যাটে রূপান্তর করব।
প্রথমে, আপনার pom.xml ফাইলে Apache Xerces এবং XSLT রূপান্তরের জন্য প্রয়োজনীয় Maven ডিপেনডেন্সি যোগ করুন:
<dependency>
<groupId>org.apache.xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.12.0</version>
</dependency>
<dependency>
<groupId>javax.xml</groupId>
<artifactId>jaxp-api</artifactId>
<version>1.4.5</version>
</dependency>
import javax.xml.transform.*;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class XSLTExample {
public static void main(String[] args) {
try {
// Create a transformer factory
TransformerFactory transformerFactory = TransformerFactory.newInstance();
// Load the XSLT file (stylesheet)
FileInputStream xsltStream = new FileInputStream("transform.xsl");
StreamSource xsltSource = new StreamSource(xsltStream);
Transformer transformer = transformerFactory.newTransformer(xsltSource);
// Load the XML input file
FileInputStream xmlStream = new FileInputStream("person.xml");
StreamSource xmlSource = new StreamSource(xmlStream);
// Set the output file
FileOutputStream htmlStream = new FileOutputStream("person.html");
StreamResult result = new StreamResult(htmlStream);
// Perform the transformation
transformer.transform(xmlSource, result);
System.out.println("XML to HTML transformation completed successfully.");
} catch (Exception e) {
e.printStackTrace();
}
}
}
transform()
মেথডটি XML ডেটাকে XSLT শীট ব্যবহার করে HTML এ রূপান্তর করে।যখন আপনি এই Java প্রোগ্রামটি চালাবেন, তখন এটি XML ডেটাকে XSLT শীট ব্যবহার করে HTML ফরম্যাটে রূপান্তর করবে এবং আউটপুট ফাইল person.html
তৈরি হবে। আউটপুট HTML ফাইলটি এমন দেখাবে:
<html>
<body>
<h2>Person Information</h2>
<p>Name: John Doe</p>
<p>Age: 30</p>
</body>
</html>
এখানে, name এবং age XML ট্যাগের ডেটা HTML ফরম্যাটে রূপান্তরিত হয়েছে।
Apache Xerces এর মাধ্যমে XSLT ব্যবহার করে XML ডেটা রূপান্তর করা সহজ এবং কার্যকরী। আপনি TransformerFactory এবং Transformer ক্লাস ব্যবহার করে XML ডেটাকে XSLT শীটের মাধ্যমে HTML বা অন্য যে কোনো ফরম্যাটে রূপান্তর করতে পারেন। XSLT আপনাকে XML ডেটাকে একটি নির্দিষ্ট কাঠামোতে রূপান্তর করার ক্ষমতা প্রদান করে, যা ডেটার উপস্থাপন এবং বিশ্লেষণে সাহায্য করে।
Apache Xerces একটি শক্তিশালী XML প্রসেসিং লাইব্রেরি যা XML ডকুমেন্ট পার্সিং, ভ্যালিডেশন, এবং সিরিয়ালাইজেশন সমর্থন করে। এর সাথে, XSLT (Extensible Stylesheet Language Transformations) ইন্টিগ্রেশন XML ডেটাকে রূপান্তরিত করার একটি শক্তিশালী পদ্ধতি। XSLT একটি স্টাইলশীট ভাষা যা XML ডেটা রূপান্তরের জন্য ব্যবহৃত হয়, যেখানে XML ডেটাকে অন্য কোন XML ফরম্যাট, HTML, বা অন্যান্য টেক্সট ফরম্যাটে রূপান্তর করা যায়।
Apache Xerces এবং XSLT এর মধ্যে ইন্টিগ্রেশন XML ডকুমেন্টের প্রসেসিং এবং রূপান্তরের জন্য খুবই কার্যকরী। Xerces লাইব্রেরি ব্যবহার করে আপনি XSLT স্টাইলশীট রূপান্তর সম্পাদন করতে পারেন।
এখানে Apache Xerces এবং XSLT এর মধ্যে ইন্টিগ্রেশন কিভাবে করা যায়, তা বিস্তারিতভাবে দেখানো হলো।
XSLT (Extensible Stylesheet Language Transformations) একটি ভাষা যা XML ডকুমেন্টকে অন্য XML ডকুমেন্ট, HTML, বা টেক্সট ফরম্যাটে রূপান্তর করার জন্য ব্যবহৃত হয়। XSLT স্টাইলশীটগুলি XML ডেটাকে সহজভাবে রূপান্তর করে, যা সহজে পার্স এবং প্রোসেস করা যায়।
ধরা যাক, আমাদের একটি XML ডকুমেন্ট এবং একটি XSLT স্টাইলশীট রয়েছে, যা XML ডেটাকে রূপান্তর করতে ব্যবহৃত হবে।
<?xml version="1.0" encoding="UTF-8"?>
<person>
<name>John Doe</name>
<age>30</age>
</person>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/person">
<html>
<body>
<h2>Person Details</h2>
<p>Name: <xsl:value-of select="name"/></p>
<p>Age: <xsl:value-of select="age"/></p>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
এখানে, transform.xsl স্টাইলশীট person.xml ডকুমেন্ট থেকে HTML ফরম্যাটে রূপান্তর করবে।
এখন, Apache Xerces ব্যবহার করে XML ডকুমেন্ট এর ওপর XSLT স্টাইলশীট প্রয়োগ করার উদাহরণ দেওয়া হচ্ছে।
import org.apache.xalan.xsltc.trax.TransformerFactoryImpl;
import org.apache.xml.serializer.OutputPropertiesFactory;
import org.apache.xalan.transformer.TransformerImpl;
import org.apache.xerces.parsers.DOMParser;
import org.xml.sax.InputSource;
import javax.xml.transform.*;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class XSLTTransformationExample {
public static void main(String[] args) throws TransformerException, IOException {
// XML এবং XSLT ফাইলের পথ
File xmlFile = new File("person.xml");
File xsltFile = new File("transform.xsl");
// XSLT স্টাইলশীট রূপান্তর প্রস্তুতি
TransformerFactory factory = new TransformerFactoryImpl();
StreamSource xslStream = new StreamSource(xsltFile);
Transformer transformer = factory.newTransformer(xslStream);
// XML ডকুমেন্ট পার্স করা
StreamSource xmlStream = new StreamSource(xmlFile);
// আউটপুট ফাইল সেট করা
FileOutputStream output = new FileOutputStream("output.html");
StreamResult result = new StreamResult(output);
// XML ডকুমেন্ট এবং XSLT স্টাইলশীট প্রয়োগ করে রূপান্তর
transformer.transform(xmlStream, result);
System.out.println("Transformation completed. Output saved as output.html.");
}
}
<html>
<body>
<h2>Person Details</h2>
<p>Name: John Doe</p>
<p>Age: 30</p>
</body>
</html>
এখানে, XML ডকুমেন্টটি HTML ফরম্যাটে রূপান্তরিত হয়েছে, যেখানে name এবং age এর মান দেখানো হয়েছে।
Xerces এবং XSLT এর ইন্টিগ্রেশন XML ডকুমেন্ট রূপান্তরের জন্য অত্যন্ত কার্যকরী। Xerces ব্যবহার করে XML ডকুমেন্টের পার্সিং এবং ভ্যালিডেশন সহজ এবং দ্রুত করা যায়, এবং XSLT স্টাইলশীট ব্যবহার করে XML ডেটাকে HTML, অন্য XML বা টেক্সট ফরম্যাটে রূপান্তর করা যায়। XSLT রূপান্তর কার্যক্রমে Xerces এর মাধ্যমে XML ডেটা প্রসেস এবং কাস্টম স্টাইলশীট প্রয়োগ করা সহজ হয়ে ওঠে, যা ওয়েব ডেভেলপমেন্ট এবং অন্যান্য ডেটা প্রক্রিয়াকরণ কাজে ব্যবহৃত হয়।
Apache Xerces হল একটি XML প্যার্সিং লাইব্রেরি যা XML ডেটা প্রসেস করতে সহায়ক। তবে XSLT (Extensible Stylesheet Language Transformations) প্রসেসিংয়ের জন্য Apache Xerces সরাসরি সমর্থন না দিলেও, XSLT প্রসেসিংয়ের জন্য আপনি Xalan ব্যবহার করতে পারেন, যা Apache প্রকল্পের একটি অংশ। XSLT একটি শক্তিশালী টুল যা XML ডেটাকে অন্য XML বা HTML ফরম্যাটে রূপান্তর করতে ব্যবহৃত হয়।
এখানে, আমরা Apache Xerces এবং Xalan ব্যবহার করে XSLT প্রসেসিং এর একটি উদাহরণ দেখব। আমরা একটি XML ডকুমেন্টকে XSLT স্টাইলশীট ব্যবহার করে রূপান্তর করব।
ধরা যাক, আমাদের একটি XML ডকুমেন্ট এবং একটি XSLT স্টাইলশীট রয়েছে, যেগুলোর মাধ্যমে XML ডেটাকে রূপান্তর করা হবে।
employee.xml
)<?xml version="1.0" encoding="UTF-8"?>
<employees>
<employee>
<name>John Doe</name>
<age>30</age>
<department>Engineering</department>
</employee>
<employee>
<name>Jane Smith</name>
<age>25</age>
<department>Marketing</department>
</employee>
</employees>
employee.xsl
)<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="/">
<html>
<body>
<h2>Employee Information</h2>
<table border="1">
<tr>
<th>Name</th>
<th>Age</th>
<th>Department</th>
</tr>
<xsl:for-each select="employees/employee">
<tr>
<td><xsl:value-of select="name"/></td>
<td><xsl:value-of select="age"/></td>
<td><xsl:value-of select="department"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
এটি একটি XSLT Stylesheet যা employee.xml ফাইলের ডেটাকে HTML টেবিল ফরম্যাটে রূপান্তর করবে।
এখন, Apache Xerces এবং Xalan ব্যবহার করে XML ফাইলকে XSLT স্টাইলশীট অনুযায়ী প্রসেস করতে হবে।
<dependency>
<groupId>org.apache.xalan</groupId>
<artifactId>xalan</artifactId>
<version>2.7.2</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-bridge</artifactId>
<version>1.14</version>
</dependency>
import org.apache.xalan.transformer.TransformerImpl;
import org.apache.xml.transform.*;
import org.apache.xml.transform.stream.StreamResult;
import org.apache.xml.transform.stream.StreamSource;
import java.io.File;
public class XSLTExample {
public static void main(String[] args) {
try {
// XSLT প্রসেসিংয়ের জন্য ট্রান্সফরমার ফ্যাক্টরি তৈরি করা
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer(new StreamSource("src/employee.xsl"));
// XML ফাইল (employee.xml) কে প্রসেস করা
StreamSource xmlSource = new StreamSource(new File("src/employee.xml"));
// আউটপুট হিসেবে HTML তৈরি করা
StreamResult result = new StreamResult(System.out);
// XSLT প্রসেসিং
transformer.transform(xmlSource, result);
} catch (Exception e) {
e.printStackTrace();
}
}
}
TransformerFactory.newInstance()
মেথড ব্যবহার করে আমরা XSLT প্রসেসিংয়ের জন্য Transformer তৈরি করি। StreamSource
ব্যবহার করে আমরা XSLT স্টাইলশীট লোড করি।StreamSource
ব্যবহার করা হয় XML এবং XSLT ফাইল লোড করতে। প্রথম প্যারামিটার হিসেবে XSLT ফাইল এবং দ্বিতীয় প্যারামিটার হিসেবে XML ফাইল পাঠানো হয়।transform()
মেথডটি XML ডেটাকে XSLT স্টাইলশীট অনুযায়ী প্রসেস করে আউটপুট তৈরি করে।এখন, যখন আপনি কোডটি রান করবেন, এটি employee.xml ফাইলের ডেটাকে employee.xsl স্টাইলশীট অনুযায়ী HTML টেবিলের ফরম্যাটে রূপান্তর করবে এবং আউটপুট হবে:
<html>
<body>
<h2>Employee Information</h2>
<table border="1">
<tr>
<th>Name</th>
<th>Age</th>
<th>Department</th>
</tr>
<tr>
<td>John Doe</td>
<td>30</td>
<td>Engineering</td>
</tr>
<tr>
<td>Jane Smith</td>
<td>25</td>
<td>Marketing</td>
</tr>
</table>
</body>
</html>
এখানে employee.xml এর ডেটা employee.xsl স্টাইলশীট দ্বারা HTML টেবিল ফরম্যাটে রূপান্তরিত হয়েছে।
Apache Xerces এবং Xalan ব্যবহার করে XSLT প্রসেসিং একটি কার্যকর উপায় XML ডেটাকে রূপান্তর করতে। এখানে আমরা দেখলাম কিভাবে একটি XML ফাইল এবং XSLT স্টাইলশীট ব্যবহার করে XML ডেটাকে HTML ফরম্যাটে রূপান্তর করা যায়। XSLT একটি শক্তিশালী টুল যা XML ডেটা প্রসেসিং এবং রূপান্তরের জন্য খুবই কার্যকর। Xalan ব্যবহার করে XSLT প্রসেসিংকে সহজ এবং দ্রুত করা যায়।
Read more